// These are meant to be typed into the REPL. You can also run
// scala -Xnojline < repl-session.scala to run them all at once.
/**
  * 13.4	视图界定
  *
  * 还来看 Comparable 子类的问题，如果输入如 Pair(4,2)则无法比较，
  * Scala 的 Int 类型没有实现 Comparable 接口，而 RichInt 确实现了，
  * 在这里我们需要一个隐式转换，让 Int 可以转换为 RichInt。
  * 我们可以通过视图界定来解决，用 <%  来表示。 T  可以被隐式转换成
  * Comparable[T]
  */
//视图界定
class PairSec04[T <% Comparable[T]](val first: T, val second: T) {
  def smaller = if (first.compareTo(second) < 0) first else second
  override def toString = "(" + first + "," + second + ")"
}

val p = new PairSec04(4, 2) // Works
p.smaller


